package com.byxy.managerial.dao;

import java.io.Serializable;
import java.util.List;


/**
 * 公共接口
 * @author muxiangling
 *
 * @param <E>
 */
public interface BaseDao<E> {
	
	/**
	* 新增
	* @param entity
	*/

	void save(E e);
	
	/**
	* 删除
	* @param entity
	*/
	void delete(E e);
	
	/**
	* 修改
	* @param entity
	*/
	void update(E e);
	
	/**
	* 查找所有
	* @return List集合
	*/
	List<E> find();

	/**
	 * 分页查询
	 * 
	 * @param pos 下标 从0开始，大于等于0
	 * @param row 大于0
	 * @return 返回集合
	 */
	List<E> find(int pos, int row);
	
	/**
	 * 模糊查询
	 * @param likeVal 查询的值
	 * @return
	 */
	List<E> findDim(String likeVal);

	
	/**
	* 通过id查找
	* @param id
	* @return 实体
	*/
	E getByID(Serializable id);
	
	/**
	* 统计总记录数
	* @return 数量
	*/
	long countAll();

	/**
	* 通过name查找对象
	* @param name
	* @return list
	*/
	E getByName(String name);
}
